package com.qulai.amazon_us.domain.basic;

import com.qulai.common.annotation.Excel;
import com.qulai.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 商品库存对象 basic_product
 *
 * @author hunan
 * @date 2025-02-12
 */
public class Product extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @Excel(name = "ID")
    private String id;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private Integer status;

    /**
     * 商家状态
     */
    @Excel(name = "商家状态")
    private Integer published;

    /**
     * 可售平台(取反)
     */
    @Excel(name = "可售平台(取反)")
    private String notAvailable;

    /**
     * 货源平台
     */
    @Excel(name = "货源平台")
    private String platform;

    /**
     * SPU
     */
    @Excel(name = "SPU")
    private String spu;

    /**
     * SKU
     */
    @Excel(name = "SKU")
    private String sku;

    /**
     * 大类目
     */
    @Excel(name = "大类目")
    private String className;

    /**
     * 小类目
     */
    @Excel(name = "小类目")
    private String productType;

    /**
     * 目录ID
     */
    @Excel(name = "目录ID")
    private String catalogId;

    /**
     * 目录
     */
    @Excel(name = "目录")
    private String catalogName;

    /**
     * 链接
     */
    @Excel(name = "链接")
    private String link;

    /**
     * 主图
     */
    @Excel(name = "主图")
    private String mainImage;

    /**
     * 标题
     */
    @Excel(name = "标题")
    private String title;

    /**
     * 商品尺寸
     */
    @Excel(name = "商品尺寸")
    private String dimensions;

    /**
     * 包装尺寸
     */
    @Excel(name = "包装尺寸")
    private String packages;

    /**
     * 反查流量词
     */
    private String searchWords;

    /**
     * 价格
     */
    @Excel(name = "价格")
    private String price;

    /**
     * 数量
     */
    @Excel(name = "数量")
    private Integer quantity;

    /**
     * 封装字段
     */
    private String jsonText;

    /**
     * 商品信息
     */
    private String productInfo;

    /**
     * 供应商CODE
     */
    @Excel(name = "供应商CODE")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    private String supplierName;

    /**
     * 可售地区
     */
    @Excel(name = "可售地区")
    private String region;

    /**
     * 运费
     */
    @Excel(name = "运费")
    private String shipFee;


    @Excel(name = "额外信息")
    private String extraField;

    @Excel(name = "卖方类型")
    private String sellerType;


    /**
     * 货源类型处理状态
     */
    @Excel(name = "货源类型处理状态")
    private Integer product_deal_status;

    private Integer imageIndex;



    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setPublished(Integer published) {
        this.published = published;
    }

    public Integer getPublished() {
        return published;
    }

    public void setNotAvailable(String notAvailable) {

        this.notAvailable = notAvailable;
    }

    public String getNotAvailable() {
        return notAvailable;
    }

    public void setPlatform(String platform) {

        this.platform = platform;
    }

    public String getPlatform() {
        return platform;
    }

    public void setSpu(String spu) {

        this.spu = spu;


    }

    public String getSpu() {
        return spu;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getSku() {
        return sku;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getClassName() {
        return className;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getProductType() {
        return productType;
    }

    public void setCatalogId(String catalogId) {
        this.catalogId = catalogId;
    }

    public String getCatalogId() {
        return catalogId;
    }

    public void setCatalogName(String catalogName) {
        this.catalogName = catalogName;
    }

    public String getCatalogName() {
        return catalogName;
    }

    public void setLink(String link) {
        this.link = link;
    }

    public String getLink() {
        return link;
    }

    public void setMainImage(String mainImage) {
        this.mainImage = mainImage;
    }

    public String getMainImage() {
        return mainImage;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setDimensions(String dimensions) {
        this.dimensions = dimensions;
    }

    public String getDimensions() {
        return dimensions;
    }

    public void setPackages(String packages) {
        this.packages = packages;
    }

    public String getPackages() {
        return packages;
    }

    public void setSearchWords(String searchWords) {
        this.searchWords = searchWords;
    }

    public String getSearchWords() {
        return searchWords;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getPrice() {
        return price;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setJsonText(String jsonText) {
        this.jsonText = jsonText;
    }

    public String getJsonText() {
        return jsonText;
    }

    public void setProductInfo(String productInfo) {
        this.productInfo = productInfo;
    }

    public String getProductInfo() {
        return productInfo;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getRegion() {
        return region;
    }

    public void setShipFee(String shipFee) {
        this.shipFee = shipFee;
    }

    public String getShipFee() {
        return shipFee;
    }


    public void setExtraField(String extraField) {
        this.extraField = extraField;
    }

    public String getExtraField() {
        return extraField;
    }

    public void setSellerType(String sellerType) {
        this.sellerType = sellerType;
    }

    public String getSellerType() {
        return sellerType;
    }



    public void setProductDealStatus(Integer product_deal_status) {
        this.product_deal_status = product_deal_status;
    }

    public Integer getProductDealStatus() {
        return product_deal_status;
    }

    public Integer getImageIndex() {
        return imageIndex;
    }

    public void setImageIndex(Integer imageIndex) {
        this.imageIndex = imageIndex;
    }

    /**
     * 图片数量
     */
    @Excel(name = "图片数量")
    private Integer imageCount;

    public Integer getImageCount() {
        return imageCount;
    }

    public void setImageCount(Integer imageCount) {
        this.imageCount = imageCount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("status", getStatus())
                .append("published", getPublished())
                .append("notAvailable", getNotAvailable())
                .append("platform", getPlatform())
                .append("spu", getSpu())
                .append("sku", getSku())
                .append("className", getClassName())
                .append("productType", getProductType())
                .append("catalogId", getCatalogId())
                .append("catalogName", getCatalogName())
                .append("link", getLink())
                .append("mainImage", getMainImage())
                .append("title", getTitle())
                .append("dimensions", getDimensions())
                .append("packages", getPackages())
                .append("searchWords", getSearchWords())
                .append("price", getPrice())
                .append("quantity", getQuantity())
                .append("remark", getRemark())
                .append("jsonText", getJsonText())
                .append("productInfo", getProductInfo())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .append("supplierCode", getSupplierCode())
                .append("supplierName", getSupplierName())
                .append("region", getRegion())
                .append("shipFee", getShipFee())
                .append("product_deal_status", getProductDealStatus())
                .append("image_index", getImageIndex())
                .append("extra_field", getExtraField())
                .append("seller_type", getSellerType())
                .toString();
    }
}
